const express = require('express');
const router = express.Router();
const UserController = require('../controllers/userController');
const verifyToken = require('../middleware/authMiddleware');

// 公开接口（不需要 token）
router.post('/users/register', UserController.register);                    // 注册
router.post('/users/send-code', UserController.sendVerificationCode);      // 发送注册验证码
router.post('/users/login', UserController.loginWithPassword);             // 密码登录
router.post('/users/login-code', UserController.loginWithCode);            // 验证码登录
router.post('/users/login-send-code', UserController.sendLoginCode);       // 发送登录验证码
router.post('/users/reset-password', UserController.resetPassword);        // 重置密码
router.post('/users/reset-password-code', UserController.sendResetPasswordCode); // 发送重置密码验证码
router.post('/visitors/login', UserController.visitorLogin);  // 游客登录

// 需要 token 的接口
router.get('/users/me', verifyToken, UserController.getCurrentUser);       // 获取当前用户信息
router.get('/users/list', verifyToken, UserController.getUsersList);       // 获取用户列表
router.get('/users/search', verifyToken, UserController.searchUsers);      // 搜索用户
router.put('/users/update', verifyToken, UserController.updateUserInfo);  // 更新用户信息
router.get('/users/relationships', verifyToken, UserController.getUserRelationships);  // 获取当前用户的关系
router.get('/users/:userId/relationships', verifyToken, UserController.getUserRelationships);  // 获取指定用户的关系
router.get('/users/friend-requests', verifyToken, UserController.getFriendRequests);  // 获取当前用户的好友申请
router.get('/users/:userId/friend-requests', verifyToken, UserController.getFriendRequests);  // 获取指定用户的好友申请
router.put('/users/update-relationship', verifyToken, UserController.updateRelationship);  // 更新用户关系
router.post('/users/create-relationship', verifyToken, UserController.createRelationship);  // 创建用户关系

module.exports = router;